package cn.com.dcsgo.ioc.depend;

import jakarta.annotation.Resource;
import org.springframework.stereotype.Controller;


/**
 * DemoController
 *
 * @author Dcsgo
 * @since 2025/2/5 10:21
 */
@Controller
public class UserController {
    /**
     * 自动注入匹配类型的依赖 不需要提供setter方法
     * (前提是匹配的依赖也被装配到IoC容器中 xml 和 注解均可)
     * 也可以添加到构造方法上实现构造注入(从 Spring 4.3 开始，只有一个构造器时可以省略此注解)
     * boolean required() default true; 表示注入是否是必须的
     * 我们可以通过设置这个属性来设置注入的属性是否必须完成完成注入
     * 既是否允许属性为null
     * 当出现有多个匹配的依赖时，可以通过更改属性名、更改被依赖组件id、配合@Qualifier注解
     * 来进一步匹配或指定要注入的依赖
     * 还可以使用注解@Resource name指定要注入的依赖，相当于@Autowired @Qualifier 二合一
     * 但是@Resource注解还需要引入其他依赖
     */
/*  @Autowired
    @Qualifier("newUserServiceImpl")*/
    @Resource(name = "userServiceImpl")
    private UserService userService;

    public void usersInfo() {
        System.out.println(userService.findAll());
    }
}
